% 简单绘制互为手性异构的两种简单分子
% 不同颜色代表不同原子（或者基团）
% 对于手性异构体，在三维空间中只通过旋转无法使两种分子重合，因此他们是“不一样的”
% 在化学中，这样两种手性分子的化学性质可能不同。
% Gitee Repo

clc
clear


function h = SPHERE(x,y,z,r,c)
    [X,Y,Z] = sphere(20);
    h = surf(r*X+x,r*Y+y,r*Z+z);
    set(h,'EdgeColor','none')
    set(h,'FaceColor',c)
end

color1 = {[165/255,40/255,40/255],'r','g','b','c'};
color2 = {[165/255,40/255,40/255],'g','r','b','c'};

r = 0.5;
a = sqrt(8/3)*r*2;
Atom=zeros(5,3);
Atom(1,:) = [a/2,sqrt(3)/6*a,sqrt(6)/12*a];
Atom(2,:) = [0,0,0];
Atom(3,:) = [a,0,0];
Atom(4,:) = [a/2,sqrt(3)/2*a,0];
Atom(5,:) = [a/2,sqrt(3)/6*a,sqrt(6)/3*a];

for i = 2:5
    Atom(i,:) -= Atom(1,:);
end
Atom(1,:) = [0,0,0];

figure()

subplot(1,2,1)
hold on
axis equal
title('分子 1');
xlabel('X');
ylabel('Y');
zlabel('Z');
view([0,90])

for i = 1:5
    SPHERE(Atom(i,1),Atom(i,2),Atom(i,3),r,color1{i});
end


subplot(1,2,2)
hold on
axis equal
title('分子 2');
xlabel('X');
ylabel('Y');
zlabel('Z');
view([0,90])

for i = 1:5
    SPHERE(Atom(i,1),Atom(i,2),Atom(i,3),r,color2{i});
end


